package com.demo.java.OD1_50.OD31;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【蛇形矩阵】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145557016
 */
public class OdMain {
    // 生成蛇形数字序列的方法
    public static void generateSnakePattern(int rows) {
        int startValue = 1;  // 第一行的起始数字
        int increment = 1;    // 第一行的增量（开始时为1）

        // 遍历每一行
        for (int i = 1; i <= rows; i++) {
            int currentValue = startValue;  // 当前行的第一个数字
            int currentIncrement = i + 1;   // 当前行数字的初始增量

            // 遍历当前行的所有数字
            for (int j = 1; j <= rows - i + 1; j++) {
                System.out.print(currentValue + " ");  // 打印当前数字
                currentValue += currentIncrement++;   // 更新当前数字
            }
            System.out.println();  // 输出完一行后换行
            startValue += increment++;  // 更新下一行的起始数字
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int rows = scanner.nextInt();  // 读取输入的行数
        generateSnakePattern(rows);    // 调用方法生成蛇形数字序列
    }
}